package testes;

import gui.ClasseEMetodos;
import gui.FachadaManipulacaoClassesDeUmProjeto;

import java.io.IOException;
import java.lang.reflect.Method;
import java.util.LinkedList;



public class TesteCarregarClassesDeUmProjeto 
{

	public static void main(String[] args) 
	{	
		
		FachadaManipulacaoClassesDeUmProjeto fachada = FachadaManipulacaoClassesDeUmProjeto.getInstance();
		LinkedList<ClasseEMetodos> classesEMetodos = 
				fachada.pegarTodasAsClassesDoProjeto("C:/Users/joao/Documents/eclipse new projets/ProjetoSenha");

		//antes era "C:/Users/Mina/Desktop/eclipse-SDK-3.7.1-win32/projetos2/SenhaSemInterfaceGrafica"
		
		for(int i = 0; i < classesEMetodos.size(); i++)
		{
			System.out.println("classe encontrada:" + classesEMetodos.get(i).getClasse().getSimpleName());
		}
		
		for(int j = 0; j < classesEMetodos.size(); j++)
		{
			ClasseEMetodos classeEMetodos = classesEMetodos.get(j);
			LinkedList<Method> metodos = classeEMetodos.getMetodos();
			for(int k = 0; k < metodos.size(); k++)
			{
				if(metodos.get(k).getName().compareTo("somar") == 0)
				{
					try
					{
						Object o = classeEMetodos.getClasse().newInstance();
						String x = "9";
						String y = "8";
						metodos.get(k).invoke(o, x,y);
					}
					catch(Exception e)
					{
						System.out.println(e);
					}
				}
			}
		}
		
		System.out.println("///terminou de pegar as classes////");
		
	}

}
